Image encoding method

ABSTRACT

In an image encoding method in which a pixel of interest is predicted with reference to a plurality of pixels near the pixel of interest to be encoded, and encoding is performed on the basis of coincidence/noncoincidence between the predicted pixel and the pixel of interest, a parameter for predicting a pixel is changed on the basis of a rate of coincidence/noncoincidence of the predicted pixel and the pixel of interest.

This application is a continuation of application Ser. No. 07/764,059,filed Sep. 24, 1991, which is a continuation of application Ser. No.07/400,103, filed Aug. 29, 1989.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method of encoding an image.

2. Description of the Related Art

A facsimile apparatus as a typical still image communication apparatusemploys a method of encoding and transmitting an image based on MH or MRcoding by sequentially scanning the image.

In this method, in order to recognize the entire image, all the imagedata must be transmitted, resulting in a long transmission time. It isdifficult to apply this method to an image communication service, suchas an image data base service, a videotex, or the like, in which animage must be quickly judged.

As an encoding method applicable to such a service, for example, amethod, e.g., arithmetic coding, in which a pixel of interest ispredicted on the basis of a plurality of surrounding pixels near thepixel of interest, and an image is encoded on the basis ofcoincidence/noncoincidence between the predicted pixel and an actualpixel of interest, is proposed.

With this method, encoding with higher efficiency can be achieved by asimpler arrangement than those for conventional MH or MR coding.

In such coding, however, parameters necessary for predicting a pixel ofinterest based on surrounding pixels are predetermined using a standardimage. Therefore, for an image having a feature different from that of astandard image, a probability of prediction coming true is low, andcoding efficiency is impaired. In some cases, encoded data may becomelonger than original data.

SUMMARY OF THE INVENTION

The present invention has been made in consideration of the abovesituation, and has as its object to provide an image encoding method,with which efficient encoding can be executed for various images.

It is another object of the present invention to provide an imageencoding method, with which encoding can be adaptively performed for animage to be encoded.

It is still another object of the present invention to provide an imageencoding method, with which efficient encoding is executed according toa pattern of an image to be encoded.

The above and other objects and features of the present invention willbe apparent from the following description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an embodiment of an encoder;

FIG. 2 is a block diagram of an embodiment of a decoder;

FIG. 3 is a table showing coefficients of a low-pass filter;

FIG. 4 is a block diagram of an embodiment of a low-pass filter;

FIG. 5 is a view for explaining a sub-sampling operation;

FIG. 6 is a block diagram of a prediction circuit;

FIG. 7 is a view for explaining reference pixels on a coding surface;

FIG. 8 is a view for explaining reference pixels of an image sent onestage before the current stage;

FIG. 9 is a block diagram of an arithmetic code encoder;

FIG. 10 is a block diagram of an arithmetic code decoder;

FIG. 11 shows a table for grouping;

FIGS. 12A to 12C show examples of a characteristic pattern;

FIG. 13 is a block diagram of a circuit for determining encodingparameters Q and l;

FIG. 14 shows a table for determining parameters;

FIG. 15 shows a table used in a second embodiment; and

FIG. 16 is a block diagram showing the second embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows an embodiment of an encoder to which the present inventionis applied.

Original image data I₁ as binary data representing black/white ofeachpixel of an original image is stored in a first frame memory 10. Afirst low-pass filter 11 then performs smoothing processing of the imagedata. The smoothed data is binary-encoded again by a first comparator12. A parameter C₁ for adjusting a degree of smoothing is input to thefirst low-pass filter 11. A threshold value T₁ is input to the firstcomparator 12. These values are determined by a controller 9 on thebasis of required image quality and encoding efficiency. A first subsampling 13generates a signal 101 representing an image which is sampledto 1/2 in both the vertical and horizontal directions. The signal 101 isstored in asecond frame memory 14.

The signal 101 is similarly processed by a second low-pass filter 15, asecond comparator 16, and a second sub sampling 17, thus generating asignal 102 representing a 1/4 image. The signal 102 is stored in a thirdframe memory 18. The signal 102 is similarly processed by a thirdlow-passfilter 19, a third comparator 20, and a third sub sampling 21 toobtain a signal 103 representing an 1/8 image. The signal 103 is storedin a fourthframe memory 22. The controller 9 inputs parameters C₂ and C₃to the second and third low-pass filters, and threshold values T₂ and T₃to the second and third comparators, respectively.

The signal 103 is encoded by a first encoder 23, and is transmitted as afirst-stage signal 104.

A second encoder 24 performs encoding with reference to data in thefourth and third frame memories 22 and 18, and transmits a second-stagesignal 105. Similarly, a third encoder 25 performs encoding withreference to data in the third and second frame memories 18 and 14, andtransmits a third-stage signal 106. Similarly, a fourth encoder 26performs encoding with reference to the second and first frame memories14 and 10, and transmits a fourth-stage signal 107. As described above,the first to fourth encoders encode image data having differentresolutions.

The image data of the first to fourth stages are encoded and transmittedinthe order starting from one having a low resolution, so that areception side can immediately identify the entire image before imagedata having higher resolutions are transmitted. If the data isunnecessary, transmission of image data of the higher resolutions can bestopped. Thus,a communication time of unnecessary data can be reduced,and an efficient image communication service can be provided.

FIG. 2 shows an embodiment of a decoder for decoding image data encodedby the encoder shown in FIG. 1.

The first-stage signal 104 encoded based on an 1/8 image by the encoderis decoded by a first decoder 27, and the decoded signal is stored in afifthframe memory 31. This signal is converted to high-resolution databy ×8 interpolation processing of a first interpolation device 35, andthe high-resolution data is then stored in a video memory 39 through aselector 38 which is switched by a controller 42. The video memory 39comprises a 2-port memory which can perform parallel input/outputoperations. Therefore, an image decoded at the reception side isdisplayedon a monitor 40 as needed.

The second-stage signal 105 encoded based on 1/4 and 1/8 images by theencoder is decoded by a second decoder 28 with reference to data storedinthe fifth frame memory 31, and is stored in a sixth frame memory 32.This data is subjected to ×4 interpolation processing by a secondinterpolation device 36, and is stored in the video memory 39 uponswitching of the selector 38.

Similarly, the third-stage signal 106 encoded based on 1/2 and 1/4images by the encoder and the fourth-stage signal 107 encoded based onan original image and a 1/2 image are respectively decoded by third andfourth decoders 29 and 30, seventh and eighth frame memories 33 and 34,and a third interpolation device 37, and are stored in the video memory39. The stored data are displayed on the monitor 40.

The signal stored in the eighth frame memory 34 as a fourth-stagedecoded image signal is output to a printer 41 to obtain a hard copy.

FIG. 3 shows filter coefficients of a 3×3 (pixel) low-pass filter usedas the first, second, and third low-pass filters in the encoder showninFIG. 1. The weighting coefficient of the central pixel is representedbyC, a weighting coefficient of 2 is assigned to four pixels nearest tothe central pixel, and a weighting coefficient of 1 is assigned to thenext nearest pixels.

Thus, the value of the central pixel is represented by D_(ij) (i=1 to Mand j=1 to N: M and N are pixel sizes in the horizontal and verticaldirections), an average density W is given by: ##EQU1##

Each of the first, second, and third comparators binary-encodes thisvalue W with a threshold value T (standard setup value is T=(12+C)/2).The values W and T have the following correspondence.

    If W≧T, output signal=1

    If W<T, output signal=0

FIG. 4 is a block diagram of the low-pass filter and the comparator forperforming the above-mentioned arithmetic operations. An input signal islatched by latches 44a, 44b, and 44c to be delayed by one pixel clock,respectively. Line memories 43-a and 43-b hold input signals delayed byone line. Signals having pixel positions corresponding to those of thelatches 44a, 44b, and 44c are obtained at latches 44d, 44e, and 44f, andlatches 44g, 44h, and 44i. Thus, data corresponding to nine pixels shownin FIG. 3 are obtained. The output signals from the latches 44a, 44c,44g,and 44i are added by an adder 45a, and the sum data is multipliedwith a constant (×1) by a multiplier 46a.

The output signals from the latches 44b, 44d, 44f, and 44h are added byan adder 45b, and the sum data is multiplied with a constant (×2) by amultiplier 46b. The output signal from the latch 44e as the centralvalue is multiplied with a constant (xC) by a multiplier 46c. The valueC can beset by the external controller 9, and its standard value is C=4.

The output signals from the multipliers 46a, 46b, and 46c are added byan adder 47, and the sum data is compared with the threshold value T bya comparator 48. When the sum data is larger than the threshold value T,a signal of "1" level is obtained; otherwise, a signal of "0" level isobtained. The threshold value T can also be set by the externalcontroller9, and has a value of T=(12+C)/2 as the standard value, asdescribed above.

FIG. 5 is a view for explaining a sub-sampling operation in the encodershown in FIG. 1. Hatched pixel data in FIG. 5 are sampled at every othertimings in main and sub scan directions, thus forming a sub-sampledimage having a 1/2 size (1/4 in terms of an area). Such sub-samplingoperation can be easily realized by adjusting latch timing of imagedata.

Encoding by the encoders 23 to 26 shown in FIG. 1 will be describedbelow. In this embodiment, encoding is performed using arithmeticcoding, and a value of a pixel of interest is predicted on the basis ofsurrounding pixels. A symbol when prediction is successful is called amost probable symbol (1), a symbol when prediction is unsuccessful iscalled a less probable symbol (0), and a generation probability of theless probable symbol is represented by p. With this data, encoding isperformed. For further details about arithmetic coding, please refer to"Image Signal Processing for FAX and OA", Takahiko FUKINUKI, NikkanKogyo, Co.

More specifically, if a binary arithmetic code for a code string s isrepresented by C(S) and its assist amount is represented by A(S),encodingprogresses according to the following arithmetic operations:##EQU2##

Assuming p(S)=2^(-Q) (S), multiplication is performed by only shifting abinary number. Q is called a skew value, and when this parameter ischanged, arithmetic coding can be dynamically used.

In decoding, a binary signal string S is given by S'×S", and whendecoding progresses up to S', C(S) and C(S')+A(S'0) are compared. WhenC(S)>C(S')+A(S'0), decoding is performed if x=1; otherwise, decoding isperformed if X=0.

In-this embodiment, the skew value Q, a most probable symbol m (or aless probable or inferiority symbol l) are dynamically determined on thebasis of previously encoded data, thus realizing dynamic encoding. Incontrast to this method, static coding in which Q and m values arepredetermined onthe basis of a standard image is known. These methodshave different characteristics.

The arrangement for achieving this encoding will be described below.

FIG. 6 is a block diagram of a circuit portion for predicting a pixel ofinterest in the second, third, and fourth encoders 24, 25, and 26.

A frame memory A51 is a memory for storing at least one frame of imagedatato be encoded. A frame memory B52 stores at least one frame of imagedata which corresponds to an image sent one stage before and issub-sampled to 1/2 of the image data stored in the frame memory A51.Each frame memory comprises a two-dimensional memory. If a clock for xaddresses is represented by φ₁ and a clock for y addresses isrepresented by φ₂, the clocks φ₁ and φ₂ are input to the framememoryA51, and clocks 1/2φ₁ and 1/2φ₂ having a 1/2 frequency are input to theframe memory B52. Thus, one pixel of the frame memory B52 corresponds to2×2, i.e., 4 pixels of the frame memory A51.

Data read out from the frame memories A51 and B52 are delayed by oneline in line memories 53a, 53b, 54a, and 54b, and are input to latches55 and 56. These latches hold data delayed by one pixel. FIG. 7 showsthe positions of reference pixels of image data read out from the framememoryA51. The outputs from the latches shown in FIG. 6 have thefollowing correspondence with the pixel positions shown in FIG. 7. Thatis, a pixel of interest (*) corresponds to the output from a latch 55j(pixel of interest signal D301); a position No. 1 in FIG. 7, the outputfrom a latch55i; No. 2, a latch 55g; No. 3, a latch 55h; No. 4, a latch55f; No. 5, a latch 55e; No. 6, a latch 55b; and No. 7, a latch 55d.

FIG. 8 shows the positions of reference pixels of image data read outfrom the frame memory B52. A pixel position No. 8 corresponds to theoutput from a latch 56e; No. 9, a latch 56c; No. 10, a latch 56d; No.11, a latch56c; No. 12, a latch 56h; No. 13, a latch 56g; and No. 14, alatch 56i.

An image at the position No. 8 in FIG. 8 is 1/2 image data correspondingto2×2 pixels including a pixel of interest. A 2-bit pixel positionsignal 59 for identifying the position of the pixel of interest in No. 8(four states, i.e., upper left, upper right, lower left, and lowerright) is generated by a counter 60 on the basis of the clocks φ₁ andφ₂.

The pixel position signal 59 and pixel signals from the latches 55 and56 are input to an LUT (look-up table) 57. The LUT 57 outputs a groupsignal G300 indicating a group number of each state (pattern).

This grouping is performed on the basis of the following three methods:

(1) Classify patterns having close probabilities of prediction comingtrue.

(2) Classify patterns having similar pattern configurations.

(3) Classify characteristic image patterns.

A probability of prediction coming true k for each state (pattern) isobtained from a standard pattern according to the method (1), and thestates are divided into N groups according to the k values. These groupsare further divided to N×2 groups under a condition that a group havinga white prediction pixel (mps) is represented by 0, and a group having ablack prediction pixel is represented by 1.

According to the method (2), of prediction patterns, patterns in whichpixels indicated by marks "o" as shown in FIG. 2 have the same valuesare extracted (other pixel states are not considered) as a group A.Patterns in which pixels shown in FIG. 12(b) have the same values andwhich do not belong to the group A are extracted as a group B. Accordingto the method (3), patterns which tend to characteristically appear in adither image, as shown in FIG. 12(c) (pixels indicated by marks "o" havethe same values, and pixels indicated by marks " " have opposite values)and which belong to neither the group A nor the group B are extracted asa group C. Patterns other than the groups A, B, and C are extracted as agroup D. FIG. 11 shows results of such grouping. G₁, G₂, . . . ,G_(8N)indicate group numbers of patterns. k_(i) (i=1 to n) indicates aprobability at a division point. The number of groups and similarpattern configurations are not limited to those in this embodiment, as amatter ofcourse.

Thus, grouping is made on the basis of not only a probability ofpredictioncoming true but also similarity of patterns and separation ofcharacteristic patterns, so that an image other than a standard imagecan be adaptively encoded.

The prediction circuit in the first encoder 23 shown in FIG. 1 hassubstantially the same arrangement as that in FIG. 6, except that thelinememories 54a and 54b, the latches 56a to 56i, and the counter 60 forprocessing the output from the frame memory B52 are omitted.

FIG. 13 is a block diagram of a probability estimation circuit fordynamically changing the skew value Q and the inferiority symbol lps.The group signal G300 and the pixel of interest signal D301 output fromthe prediction circuit shown in FIG. 6 are respectively input to anoccurrencefrequency counter 90 and an inferiority symbol counter 91 foreach group. In these counters, internal counters corresponding in numberto the groupsare prepared so that they perform counting operations inunits of groups, and are switched in response to the group signal G.

The occurrence frequency counter 90 counts the frequency of occurrenceof astate of a given group for each group, and outputs an updatingsignal 303 when the count value of each group exceeds a setup value S302. The counter 91 counts the number of inferiority symbols generatedfrom when the updating signal is generated until the next updatingsignal is generated in units of groups, and outputs a count value lc304. More specifically, the fact that S states of a given group includelc inferiority symbols is revealed on the basis of the output from thecounter 91. In the following description, a state of S=16 will beexemplified.

An LUT 92 prestores Q_(G) 305 as the next encoding parameter foroccurrence of lc inferiority symbols, a reversal signal 306 indicatingreversal of an mps (most probable symbol) value so far, and data calledzero count (CT) 307.

The zero count is a value representing the number of previous states of"0"in each of which no inferiority symbol lc is generated in S states,and represents the number of continuous most probable symbols. Morespecifically, in principle, when CT=0 is initially set, every time astatein which lc is 0 in S states occurs, CT is updated to 1.Thereafter, if thestate of 0 continues twice and three times, CT isupdated to 2 and 3.

FIG. 14 shows a content of the LUT 92.

In an initial state, CT=0 is set, and a new Q_(G) and the next CT valueare obtained on the basis of the lc value. For example, when CT=0 andlc=0, CT=1. When the updating signal 303 arrives for the next time andwhen CT=1 and lc=1, Q_(G) =5 and CT=2.

When CT=0 and lc=1, Q_(G) =4 and CT=1.

Equations for creating this table are: ##EQU3##

In equation (2), Q_(G) is an exponential portion when a probability ofgeneration of inferiority symbols generated when S states continuouslyappear (CT+1) times is approximated by a power of 2.

In equation (3), CT recalculates the number of sets of S "lc=0"sassuming that the probability of generation of inferiority symbols isgiven by 1/2^(QG). Since 2^(QG) represents the number of most probablesymbols,CT is obtained by dividing 2^(QG) with S.

A case of CT=0 and lc>(S/2)+1 is processed as a special case, and an mpsreversal signal is output to reverse a value which has been originallyused as an inferiority symbol (i.e., 0⃡1). If the following state isother than CT=0 and lc>(S/2)+1, encoding processing is normallyperformed without changing the inferiority symbol.

In FIG. 13, a latch 93 holds original Q_(G) 305, the mps reversal signal306, and CT 307. In response to the updating signal 303 from theoccurrence frequency counter 90, the latch 93 latches the output fromthe LUT 92, and is updated to a new state.

The count signal lc of the inferiority symbols and the CT value 307indicating the number of previous most probable symbols are input to theLUT 92. The LUT 92 outputs Q_(G) and CT which are updated in accordancewith the table shown in FIG. 14, and the mps reversal signal ifnecessary.An mps memory 95 holds the most probable symbol (0 or 1) whichhas been used up to latest encoding, and this state is reversed by themps reversalsignal. An mps/lps signal as an output of the memory 95 issupplied to the inferiority symbol counter 91. The inferiority symbolcounter counts pixeldata D corresponding to inferiority symbolsrepresented by the mps/lps signal as the inferiority symbols.

Encoding is performed based on Q_(G) and mps/lps determined herein.

FIG. 9 is a block diagram of an arithmetic coding encoder. If Q_(G) 305from the latch 93 shown in FIG. 13 represents a skew value, Q_(G) 305and MPS/LPS 308 are input to the encoder, and arithmetic operationsgiven by equations (1) are performed for a pixel of interest data D 301by an encoder 190, thus obtaining encoding data 192.

In this manner, the skew value Q and the most probable symbol asencoding parameters are dynamically determined on the basis of thepreviously encoded data, and encoding is performed on the basis of theseparameters. As a result, efficient encoding of various images havingdifferent features from that of a standard image can be achieved.

FIG. 10 is a block diagram of the first, second, third, and fourthdecoders27, 28, 29, and 30. In the decoder, a prediction circuit and aprobability estimation circuit shown in FIGS. 6 and 13 are prepared asin the encoder.A decoder 191 performs decoding on the basis of a skewvalue Q_(G) d 94 of the decoder, an inferiority symbol LPSd 197 from theLUT, and receivingdata 195, thus obtaining decoding data 196.

As another method of determining the content of the LUT 92 shown in FIG.13, lc/S is calculated on the basis of the number of inferiority symbolslc in S pixels to determine new Q_(G) in accordance with therelationship shown in FIG. 15. An initial value is set to be Q_(G) =1,and Q_(G) is updated on the basis of the value of lc/S. In the secondand subsequent encoding operations, Q_(G) is determined on the basis ofupdated Q_(G) and lc/S. An updated value Q_(G) ' is calculated by:##EQU4##The calculated value is stored in a table. When Q=1 andlc/S>1/2, a signal 500 reverses the most probable/inferiority symbol.

FIG. 16 shows an embodiment of a probability estimation circuit whenthis LUT is used. A Q_(G) signal 305 is input to an LUT 92 to determineQ_(G) to be updated.

In this embodiment, dynamic arithmetic coding has been exemplified as anencoding method. However, the present invention may be applied to othermethods using dynamic parameters.

As described above, parameters for predicting a pixel of interest on thebasis of a plurality of pixels near the pixel of interest aredynamically changed in accordance with a rate ofcoincidence/noncoincidence between the predicted pixel and the pixel ofinterest, so that efficient encoding can be achieved for various images.

An information source which is divided into a large number of patternsby reference pixels is subjected to grouping on the basis of aprobability ofprediction coming true and similarity, thus allowingdynamic encoding with good coding efficiency.

The preferred embodiment of the present invention has been described.However, the present invention is not limited to this, and variouschangesand modifications may be made within the spirit and scope of theappended claims.

What is claimed is:
 1. An image encoding system comprising:an input unitfor inputting image data; a conversion unit for converting a resolutionof the image data input by said input unit and generating low resolutionimage data; and an encoding unit for encoding the image data input bysaid input unit by using both the image data input by said input unitand the low resolution data generated by said conversion unit, whereinsaid encoding unit further comprises:storing means for storing aplurality of tables which are different from each other in varying aprediction parameter; providing means for providing a predictionparameter for use in predicting a data value of a pixel of interestreferring to a plurality of pixels near the pixel of interest by usingone of the tables stored in said storing means; predicting means forpredicting the data value of the pixel of interest with reference to theplurality of pixels near the pixel of interest by using the predictionparameter; encoding means for encoding an image on the basis ofcoincidence/noncoincidence between the predicted data value and anactual value of the pixel of interest; and determining means fordetermining a table which is used by said providing means in accordancewith the coincidence/noncoincidence between the predicted data valuepixel and the actual value of the pixel of interest.
 2. A systemaccording to claim 1, wherein said encoding unit encodes the image databy arithmetic coding.
 3. A system according to claim 1, wherein theprediction parameter is varied in units of classified groups.
 4. Asystem according to claim 1, wherein the prediction parameter is aprobability of occurrence of the predicted data value.
 5. A systemaccording to claim 1, wherein the image data input by said input unit isbinary image data.
 6. A system according to claim 1, further comprisingsecond converting means for converting the resolution of the lowresolution image data and generating further low resolution image data.7. A system according to claim 1, further comprising a frame memory forstoring the low resolution image data.
 8. A system according to claim 7,wherein said encoding unit encodes the image data by using a pluralityof pixels of the low resolution image data stored in said frame memoryand a plurality of pixels of the image data input by said input unit. 9.An image encoding apparatus comprising:storing means for storing aplurality of tables which are different from each other in varying aprediction parameter; providing means for providing a predictionparameter for use in predicting a value of a pixel of interest referringto a plurality of pixels near the pixel of interest by using one of thetable stored in said storing means; predicting means for predicting thedata value of the pixel of interest with reference to the plurality ofpixels near the pixel of interest by using the prediction parameter;encoding means for encoding an image on the basis ofcoincidence/noncoincidence between the predicted data value and anactual value of the pixel of interest; determining means for determininga table which is used by said providing means in accordance with thecoincidence/noncoincidence between the predicted data value and anactual value of the pixel of interest; and transmitting means fortransmitting the image encoded by said encoding means.
 10. An apparatusaccording to claim 9, wherein the image is one which has been encoded byarithmetic coding.
 11. An apparatus according to claim 9, wherein theprediction parameter for predicting a pixel is varied in units ofclassified groups.
 12. An apparatus according to claim 9, wherein theprediction parameter is a probability of occurrence of the predictedpixel.
 13. An apparatus according to claim 9, wherein said transmittingmeans transmits the image by using a hierarchical method.
 14. An imagedecoding apparatus comprising:receiving means for receiving an encodedimage data; decoding means for decoding the encoding image data receivedby said receiving means; and storing means for storing decoded imagedata decoded by said decoding means, wherein the encoded image data havebeen encoded by steps of: setting a plurality of tables which aredifferent from each other in varying a prediction parameter; providingthe pixel of interest with reference to the plurality of pixels near thepixel of interest by using the prediction parameter; predicting a datavalue of the pixel of interest with reference to the plurality of pixelsnear the pixel of interest by using the prediction parameter; encodingan image on the basis of coincidence/noncoincidence between thepredicted data value and the actual value of the pixel of interest; anddetermining the table for providing the prediction parameter for use inencoding a succeeding pixel of interest, in accordance with thecoincidence/noncoincidence between the predicted pixel and the pixel ofinterest.
 15. An apparatus according to claim 14, wherein the image isone which has been encoded by arithmetic encoding.
 16. A systemaccording to claim 14, wherein the prediction parameter for predicting apixel is varied in units of classified groups.
 17. A system according toclaim 14, wherein the prediction parameter is a probability ofoccurrence of the predicted pixel.
 18. An apparatus according to claim14, further comprising image forming means for forming a visible imagein accordance with the decoded image data stored in said storing means.19. An apparatus according to claim 18, wherein said image forming meansis a display means.
 20. An apparatus according to claim 18, wherein saidimage forming means is a printer.